class Clave
{
public:

    virtual void serializar(stringstream&) const = 0;
    virtual void hidratar(stringstream &) = 0;
    
    virtual bool operator == (const Clave&) const = 0;
    virtual bool operator == (const Dato&) const = 0;

    virtual bool operator < (const Clave &) const = 0;
    virtual bool operator < (const Dato &) const = 0;    
    
    virtual Clave* clonar() const = 0;
    virtual Clave* crearDesdeDato(const Dato&) const = 0;
    
};
